home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio / Ham Radio CD-ROM (Emerald Software) (1995).ISO / misc / utilitys / spur.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1980-01-01  |  2.6 KB  |  64 lines

  1. 10  REM PRECISION 6: PRINT: PRINT: PRINT
  2. 20  PRINT "TRANSPONDER SPUR SEARCH PROGRAM": PRINT
  3. 25  PRINT:PRINT,"k2uyh --- modified for ibm pc --- wa2tif":PRINT
  4. 30  INPUT "DATE"; D$: INPUT "TITLE"; TL$: PRINT
  5. 40  INPUT "DIRTY L.O. CASE (Y/N)"; Q$: IF Q$="N" THEN INPUT "L.O. FREQ"; FU: LO=FU: GOTO 90
  6. 50  INPUT "L.O. FREQ"; LO
  7. 60  INPUT "FUNDEMENTAL FREQ"; FU
  8. 70  P=INT(LO/FU+0.5): U=LO/P: IF U<>FU THEN FU=U: PRINT "NOT FACTOR - USE FUND FREQ ="; FU
  9. 80  INPUT "MAX HARMONIC"; LX
  10. 90  INPUT "LOWER EDGE OUTPUT FREQ"; FL
  11. 100  INPUT "UPPER EDGE OUTPUT FREQ"; FT: FO=FL: DF=FT-FL
  12. 110  INPUT "NUMBER OF CRITCAL PASS BANDS"; NB
  13. 120  FOR K=1 TO NB: PRINT: PRINT "PASS BAND #"; K
  14. 130  INPUT "LOWER EDGE"; LF(K): INPUT "UPPER EDGE"; UF(K): NEXT
  15. 140  PG=1: PRINT
  16. 150  INPUT "WANT TO LIST OUTPUT BAND (Y/N)"; O$
  17. 160  INPUT "SPECIAL ORDER RESTRICTIONS (Y/N)"; Q$
  18. 170  IF Q$="N" THEN 200
  19. 180  INPUT "MAX ORDER FP"; NJ
  20. 190  INPUT "MAX ORDER SPUR"; NI: NX=NI+NJ: GOTO 210
  21. 200  INPUT "MAX ORDER"; NX: NI=NX: NJ=NX
  22. 210  REM OPTION #2, "W", 80: lPRINT, "PAGE"; PG; SPC(3); TL$
  23. 220  LPRINT: LPRINT : LPRINT: LPRINT:
  24. 230  LPRINT, "TRANSPONDER SPUR SEARCH PROGRAM"; SPC(20); D$
  25. 240  LPRINT: LPRINT, "CRITICAL BANDS": FOR K=1 TO NB
  26. 250  LPRINT, "BAND #"; K; LF(K); " - "; UF(K): NEXT: LPRINT
  27. 260  CR=NB+9: FOR L=1 TO LX: FP=FU*L: FG=1
  28. 270  FOR I=1 TO NI: FOR J=1 TO NJ: IF J+I>=NX THEN 580
  29. 280  F1=(FO+FP*J)/I: F2=(FP*J-FO)/I: F3=(FO-FP*J)/I
  30. 290  FOR K=1 TO NB
  31. 300  IF F1+DF/I<LF(K) THEN 390
  32. 310  IF F1<LF(K) THEN LE=LF(K) ELSE LE=F1
  33. 320  IF F1>UF(K) THEN 390
  34. 330  IF F1+DF/I>UF(K) THEN TE=UF(K) ELSE TE=F1+DF/I
  35. 340  IF FG=1 THEN GOSUB 610
  36. 350  IF LO=J*FP THEN LPRINT, "*";
  37. 360  LPRINT, TAB(1); "SPUR EDGES: LOWER"; LE; TAB(29); "UPPER"; TE; TAB(44); "ORDER"; I+J; TAB(53); "SPUR X"; I; TAB(63); "FP X"; J: CR=CR+1
  38. 370  IF O$="N" THEN 390 ELSE FA=LE*I-FP*J: FB=TE*I-FP*J
  39. 380  LPRINT, TAB(1); "OUTPUT BAND: LOWER EDGE"; FA; TAB(35); "UPPER EDGE"; FB: CR=CR+1
  40. 390  IF F2<LF(K) THEN 480
  41. 400  IF F2-DF/I<LF(K) THEN LE=LF(K) ELSE LE=F2-DF/I
  42. 410  IF F2-DF/I>UF(K) THEN 480
  43. 420  IF F2>UF(K) THEN TE=UF(K) ELSE TE=F2
  44. 430  IF FG=1 THEN GOSUB 610
  45. 440  IF LO=J*FP THEN LPRINT, "*";
  46. 450  LPRINT, TAB(1); "SPUR EDGES: LOWER"; LE; TAB(29); "UPPER"; TE; TAB(44); "ORDER"; I+J; TAB(53); "SPUR X"; I; TAB(63); "FP X"; J: CR=CR+1
  47. 460  IF O$="N" THEN 480 ELSE FA=FP*J-TE*I: FB=FP*J-LE*I
  48. 470  LPRINT, TAB(1); "OUTPUT BAND: LOWER EDGE"; FA; TAB(35); "UPPER EDGE"; FB: CR=CR+1
  49. 480  IF F3+DF/I<LF(K) THEN 570
  50. 490  IF F3<LF(K) THEN LE=LF(K) ELSE LE=F3
  51. 500  IF F3>UF(K) THEN 570
  52. 510  IF F3+DF/I>UF(K) THEN TE=UF(K) ELSE TE=F3+DF/I
  53. 520  IF FG=1 THEN GOSUB 610
  54. 530  IF LO=J*FP THEN LPRINT, "*";
  55. 540  LPRINT, TAB(1); "SPUR EDGES: LOWER"; LE; TAB(29); "UPPER"; TE; TAB(44); "ORDER"; I+J; TAB(53); "SPUR X"; I; TAB(63); "FP X"; J: CR=CR+1
  56. 550  IF O$="N" THEN 570 ELSE FA=LE*I+FP*J: FB=TE*I+FP*J
  57. 560  LPRINT, TAB(1); "OUTPUT BAND: LOWER EDGE"; FA; TAB(35); "UPPER EDGE"; FB: CR=CR+1
  58. 570  NEXT
  59. 580  NEXT: NEXT
  60. 590  IF CR>48 THEN PG=PG+1: LPRINT, CHR$(12), "PAGE"; PG; SPC(3); TL$: CR=600: NEXT: LPRINT, CHR$(12): END
  61. 600  NEXT: LPRINT, CHR$(12): END
  62. 610  LPRINT: LPRINT: LPRINT, "FP = FUND FREQ X"; L; "="; FP, "OUTPUT FREQ BAND"; FL; " - "; FT: LPRINT: FG=0: CR=CR+4
  63. 620  RETURN
  64.